The present invention relates to error mitigation techniques in video coding systems involving transmission through data networks.
Data errors are persistent problems in communication networks. To protect against transmission errors, it is common to encode data using error correction codes that permit a receiving entity to identify and correct some data corruption. While such techniques offer protection against some transmission errors, they do not solve all such problems.
Data transmission errors are particularly problematic in video coding systems. Video coders commonly achieve compression of video signals by exploiting temporal redundancy in video. Coders for example, predict data of one frame of video data using data of another frame that has coded previously and is known to both an encoder and a decoder. The first frame may be used to predict data of a second frame and the second frame may be used to predict data of a third frame. Such video coders can generate prediction chain across long sequences of video frames such that, if a single reference frame were lost due to a transmission error, a decoder not only would be unable to decode the lost frame but it also would be unable to decode any other frame that relied on the lost frame as a source of prediction. Thus, a transmission error that is very short—it corrupts a single reference frame—can have consequences that prevent decoding of many more frames in a coded video sequence.
No known system protects adequately against transmission errors that cause lost of reference frames from coded video data. Accordingly, there is a need in the art for a video coding system that provides increased protection against data errors and, particularly, one that permits at least partial decoding to continue even if a reference frame is lost.